// 导入文件模块
var fs = require('fs')


/* // 同步读取文件
var contentSync = fs.readFileSync('hello.txt',{flag: 'r',encoding:'utf-8'})
console.log('同步读取文件：',contentSync) // 这里就返回文件的内容 
*/

/* // 异步读取文件
var content = fs.readFile('hello.txt',{flag:'r',encoding:'utf-8'},function(err,data) {
    if (err) {
        console.log('异步读取文件失败：',err)
    } else {
        console.log("异步读取文件成功：",data)
    }
}) 
*/

/*
 // 对异步读取文件进行一个Promise封装
function isReadFile (path){
    return new Promise(function(resolve,reject) {
        fs.readFile(path,{flag:'r',encoding:'utf-8'},function(err,data) {
            if (err) {
                reject(err)
            } else {
                resolve(data)
            }
        })
    })
}

var readFiles = isReadFile('hello.txt')
readFiles.then((res) => {
    console.log('封装异步读取文件内容：',res)
}).catch((err) => {
    console.log('封装异步读取文件失败：',err)
}) 
*/


// 采用异步读取多个文件
function isReadFile (path){
    return new Promise(function(resolve,reject) {
        fs.readFile(path,{flag:'r',encoding:'utf-8'},function(err,data) {
            if (err) {
                reject(err)
            } else {
                resolve(data)
            }
        })
    })
}

async function readList () {
    var file1 = await isReadFile('hello.txt')
    console.log('file1:',file1)
    var file2 = await isReadFile('hello2.txt')
    console.log('file2:',file2)
    var file3 = await isReadFile('hello3.txt')
    console.log('file3:',file3)
    
}
readList()